package com.edu.baseAndBitOperations.base;

/**
 * ^：按位异或，两个中不一样的时候才为1，如果一样就为0
 * 按位异或^的常见应用：一个数据对相同的数据异或两次其值不变
 *
 * @作者 five-five
 * @创建时间 2021/4/16
 */
public class Demo05 {
    public static void main(String[] args) {
        /*
            数据a
            数据b
            a两次异或b 结果还是a
            a^b^b=a
         */
        int a = 2;
        int b = 3;
        //2:0b00000000,00000000,00000010
        //3:0b00000000,00000000,00000011
    //a=2^3:0b00000000,00000000,00000001
      //a^3:0b00000000,00000000,00000010
        int temp = a ^ b;
        temp ^= b;
        System.out.println(a ^ b ^ b);
        System.out.println(temp);
    }
}
